<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../../vue.js"></script>
  </head>
  <body>
    <div id="app">
      <!-- 
            v-on指令的简写是 @  v-on:click ==> @click
         -->
      <h2>count:{{count}}</h2>
      <!-- 
          当事件函数传递参数的时候，则事件函数的第一个参数不再默认是event事件对象了
          在事件指令的插值语法区域，默认存在着一个变量$event代表的就是当前事件的event事件对象
          如果传参的事件函数需要event事件对象，我们可以直接把$event显性的传递进事件函数中
      -->
      <button @click="addCount(1,$event)">累加1</button>

      <!-- 
         如果事件的逻辑很简单，只是简单的一句操作数据，则可以不用书写函数，直接把逻辑写在事件的插值中即可
       -->
      <button @click="count+=2">累加2</button>
      <button @click="count+=3">累加3</button>

      <!-- 
        当input在输入的时候(只要表单发生改变就触发)收集input数据，交给message保管
       -->
      <h2>message{{message}}</h2>
      <input type="text" @input="message=$event.target.value" />
    </div>
    <script>
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#app",
        data() {
          return {
            count: 0,
            message: "",
          };
        },
        methods: {
          addCount(n,e) {
            console.log(n,e);
            this.count += n;
          },
        },
      });
    </script>
  </body>
</html>
